
#include "PS2_Client.h"

#ifndef __PS2_KB_H__
#define __PS2_KB_H__

#define ps2_kb_clk 16 // PS/2 时钟线
#define ps2_kb_d 17   // PS/2 数据线

#define KB_LED_NUM_LOCK 0x02
#define KB_LED_CAPS_LOCK 0x04
#define KB_LED_SCSROLL_LOCK 0x01

class PS2_KB : public PS2_Client {
  private:
    void copy_code(uint8_t index, uint8_t type); // 将编码复制到缓存（循环储存）

  protected:
    void checkChange();
    bool executeCmd(uint8_t cmd);
    void setDefault(void);

  public:
    PS2_KB(int clk, int d);
};

#endif